Next | Prev | Up | Top | Contents | Index
Kernel Facilities
A network driver is structured like any kernel-level device driver, much as described in Chapter 8, "Structure of a Kernel-Level Driver," but with the following similarities and differences:
- A network driver is loaded by lboot in response to either a USE or VECTOR line in a file in /var/sysgen/system (see "Configuring a Nonloadable Driver").
- A network driver is initialized by a call to either its pfxinit() or pfxedtinit() entry point when it is loaded.
- A network driver does not need to provide any other entry points (see "Entry Point Summary").
- A network driver does not need to provide a driver flag constant pfxdevflag because a network driver is always assumed to be multiprocessor-aware (see "Driver Flag Constant").
- Although a network driver can use the kernel functions for synchronization and locking (see "Waiting and Mutual Exclusion"), it normally does not because the ifnet interface includes special-purpose locking facilities that are more convenient (see "Multiprocessor Considerations").
Next | Prev | Up | Top | Contents | Index